#pragma once
#include "Instrument.h"
#include "array/Array.hpp"
#include "yzrutil.h"
#include <vector>

namespace yzrilyzr_soundbank{
	EBCLASS(Soundbank){
	public:
	Soundbank(){}
	virtual ~Soundbank(){}
	virtual yzrilyzr_lang::String getName()const{
		return "";
	}
	virtual yzrilyzr_lang::String getVersion()const{
		return "";
	}
	virtual yzrilyzr_lang::String getVendor()const{
		return "";
	}
	virtual yzrilyzr_lang::String getDescription()const{
		return "";
	}
	virtual std::vector<std::shared_ptr<SoundbankResource>> getResources(){
		return std::vector<std::shared_ptr<SoundbankResource>>();
	}
	virtual std::vector<std::shared_ptr<Instrument>> getInstruments(){
		return std::vector<std::shared_ptr<Instrument>>();
	}
	virtual std::shared_ptr<Instrument> getInstrument(int32_t program, int32_t bank){
		return nullptr;
	}
	};
}
